BSP-Why: a Tool for Deductive Verification of BSP Programs; Machine-checked semantics and application to distributed state-space algorithms

نویسنده

  • Jean Fortin
چکیده

This thesis falls within the formal verification of parallel programs. The aim of formal verifi-cation is to ensure that a program will run as it should, without making mistakes, blocking, or terminatingabnormally. This is even more important in the parallel computation field, where the cost of calculationscan be very high. The bsp model (Bulk Synchronous Parallelism) is a model of parallelism well suitedfor the use of formal methods. It guarantees a structure in the parallel program, by organising it intosuper-steps, each of them consisting in a phase of computations, followed by communications between theprocesses. In this thesis, we chose to extend an existing tool to adapt it for the proof of bsp programs.We based our work on why, a vcg (verification condition generator) that has the advantage of beingable to interface with several automatic provers and proof assistants to discharge the proof obligations.There are multiple contributions in this thesis. In a first part, we present a comparison of the existing bsplibraries, in order to show the most used bsp primitives, which are the most interesting to formalise. Wethen present bsp-why, our tool for the proof of bsp programs. This tool generates a sequential programto simulate the parallel program in input, thus allowing the use of why and the numerous associatedprovers to solve the proof obligations. We then show how bsp-why can be used to prove the correctnessof some basic bsp algorithms. We also present a more complex example, the generation of the state-space(model-checking) of systems, especially for security protocols. Finally, in order to ensure the greatestconfidence in the bsp-why tool, we give a formalisation of the language semantics, in the coq proofassistant. We also prove the correctness of the transformation used to go from a parallel program to asequential program.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Habilitation thesis of Frédéric Gava

Some problems require performance that only massively parallel and distributed machines can offer.However, programming such architectures is a difficult task. Several reasons can be highlighted for that, suchas the intrinsic complexity of these architectures (possibility of deadlocks and data-races), a lack of training ofthe programmers and a lack of tools to test and to prove the c...

متن کامل

Axiomatic Frameworks for Developing Bsp-style Programs*

In BSP a superstep comprises a collection of concurrently executed processes with initial and terminal synchronisations. Data transfer between processes is realised through asynchronous communications. BSP programs can be organised either as explicit compositions of supersteps or as parallel compositions of threads (processes) which include synchronisation alignment operations. In this paper ax...

متن کامل

An SPMD environment machine for functional BSP programs

A functional data-parallel language called BSML has been designed for programming bulk-synchronous parallel (BSP) algorithms in so-called direct mode. Its aim is to offer predictable and scalable performance for BSP algorithms written as functional programs. The current implementation of BSML is a library and has not been validated w.r.t the language’s formal definition. As a library, it does n...

متن کامل

From BSP routines to high-performance ones: Formal verification of a transformation case

PUB (Paderborn University BSPLib) is a C library supporting the development of Bulk-Synchronous Parallel (BSP) algorithms. We present a formal semantics that emphasises the high-performance primitives of the PUB. This semantics is here used to formally verify (using the Coq proof assistant) a simple optimization of the source code that transforms classical BSP routines to their high-performance...

متن کامل

Formal Operational Semantics of a Core Imperative BSP language Application to the proof of a numerical program and a certified optimization

PUB (Paderborn University BSPLib) is a C library supporting the development of Bulk-Synchronous Parallel (BSP) algorithms. The BSP model allows an estimation of the execution time, avoids deadlocks and indeterminism. This paper presents three formal operational semantics for a C+PUB subset language using the Coq proof assistant. A first semantics, for classical BSP operations, has been used to ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013